home *** CD-ROM | disk | FTP | other *** search
- /*
- File: NuBusPlugin.h
-
- Contains: I/O Interfaces for NuBus "bus plugins"
-
- Version: Technology: xxx Put version info here xxx
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __NUBUSPLUGIN__
- #define __NUBUSPLUGIN__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __SLOTS__
- #include <Slots.h>
- #endif
- #ifndef __KERNEL__
- #include <Kernel.h>
- #endif
- #ifndef __INTERRUPTS__
- #include <Interrupts.h>
- #endif
- #ifndef __NAMEREGISTRY__
- #include <NameRegistry.h>
- #endif
- #ifndef __NUBUS__
- #include <NuBus.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- #if FOR_SYSTEM8_PREEMPTIVE
-
- enum {
- kNuBusMaxRegs = 10,
- kNuBusPluginNSlotMask = 0x0000000F,
- kNuBusPluginCanDisable = 0x80000000,
- kNuBusPluginCanMap = 0x40000000,
- kNuBusPluginVersion = 0
- };
-
- typedef OSStatus (*NuBusPluginInitProc)(const RegEntryRef *thisBus);
- typedef OSStatus (*NuBusPluginFinalProc)(const RegEntryRef *thisBus);
- struct NuBusPluginHeader {
- NumVersion version;
- UInt32 attributes;
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct NuBusPluginHeader NuBusPluginHeader;
-
- struct NuBusPluginDescriptor {
- NuBusPluginHeader header;
-
- NuBusPluginInitProc Initialize;
- NuBusPluginFinalProc Finalize;
- };
- typedef struct NuBusPluginDescriptor NuBusPluginDescriptor;
-
- /*
- * NuBusMapSlot -
- *
- * The interface a NuBus "bus plugin" uses to communicate its
- * slot addressing requirements to the NuBus family manager
- *
- */
- extern OSStatus NuBusMapSlot(const RegEntryRef *thisBus, PropertyReg *theseAddresses, ByteCount nAddresses, RegEntryRef *resultSlots);
-
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __NUBUSPLUGIN__ */
-
-